bitkeeper revision 1.1159.258.165 (42a9a534b-NRTORtgH1Qjzz6EjTo6Q)
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 10 Jun 2005 14:35:32 +0000 (14:35 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 10 Jun 2005 14:35:32 +0000 (14:35 +0000)
Ensure we only handle writable pagetable faults taken in guest kernel
mode.
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/traps.c

index df68d420fc9b27bc7e2f1a65162ad52f28780a05..9e761a3050a72454d735080d21f597d9d47dd104 100644 (file)
@@ -422,6 +422,7 @@ asmlinkage int do_page_fault(struct xen_regs *regs)
         }
 
         if ( (addr < PAGE_OFFSET) &&
+             !VM86_MODE(regs) && ((regs->cs & 3) == 1) && /* ring 1 */
              ((regs->error_code & 3) == 3) && /* write-protection fault */
              ptwr_do_page_fault(addr) )
         {